/**
 * 全局常量
 */
/**
 * 游戏事件
 */
const GameEvent={
    /** 开始答题 */
    SELECT_CHAPTER:'HGY',
    /** 关闭弹窗 */
    CLOSE_POPUP:'wyd',
    /** 显示帮助 */
    SHOW_HELP:'0A7',
    /** 回退 */
    BACK:'0A6',
    /** 选择装饰道具 */
    SELECT_DECORATION:'0A9',
    /** 消耗道具 */
    CONSUME_ITEM:'0AA',
    /** 倒计时结束 */
    COUNTDOWN_END:'0AB',
    /** 选中选项 */
    SELECT_OPTION:'0AC',
    /** 游戏状态更新 */
    GAME_STATE_CHANGE:'0AD',
    /** 训练模式 */
    TRAINING:'training',
    /** 扩展模式 */
    EXPAND:'expand',
    /** 取消训练/扩展模式 */
    CANCEL_TRAINING:'0AE',
    /** 显示toast */
    SHOW_TOAST:'0af',
    /** 扣分提示 */
    DEDUCT_SCORE:'0AF',
    /** 回到中心位置 */
    RESET_LOCATION:'0ag',
    /** 上传视频播放进度 */
    UPLOAD_VIDEO_PROGRESS:'0AH',
    /** 上传视频结束 */
    UPLOAD_VIDEO_END:'0AI',
    /** 上传视频失败 */
    UPLOAD_VIDEO_FAIL:'0AJ',
    /** 上传视频成功 */
    UPLOAD_VIDEO_SUCCESS:'0AK',
    /** 上传视频开始 */
    UPLOAD_VIDEO_START:'0AL',
    /** 刷新历史记录 */
    FLUSH_HISTORY:'0AH',
}
/**
 * 游戏状态
 */
enum GameState{
    loading,
    select_course,
    home,
    main,
    win,
    fail,
    end
}

enum DeviceOrientation{
    /** 竖屏 */
    Portrait,
    /** 横屏 */
    Landscape
}
/**
 * 获取设备方向
 */
const getOrientation=()=>{
  if (typeof window.orientation !== 'undefined') {
    // 支持window.orientation属性
    return window.orientation;
  } else if (typeof window.screen.orientation !== 'undefined') {
    // 支持window.screen.orientation属性
    return window.screen.orientation.angle;
    //@ts-ignore
  } else if (typeof window.screen.mozOrientation !== 'undefined') {
    // Firefox浏览器
    //@ts-ignore
    return window.screen.mozOrientation;
    //@ts-ignore
  } else if (typeof window.screen.msOrientation !== 'undefined') {
    // IE浏览器
    //@ts-ignore
    return window.screen.msOrientation;
    //@ts-ignore
  } else if (typeof window.screen.webkitOrientation !== 'undefined') {
    // Chrome、Safari浏览器
    //@ts-ignore
    return window.screen.webkitOrientation;
  } else {
    // 不支持设备屏幕方向检测
    return null;
  }
}

const prefabList=[
  {name:'Radio',path:'prefab/Radio'},
  {name:'DebugDialog',path:'prefab/pop/DebugDialog'}
]
const getPrefabPathByName=(name:string)=>{
  const item=prefabList.find(item=>item.name==name)
  return item?item.path:''
}
export {
    GameEvent,
    GameState,
    getOrientation,
    DeviceOrientation,
    prefabList,
    getPrefabPathByName
}
export type PrefabInfo={
  name:string,
  path:string
}